home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Creative Computers
/
Creative Computers CD-ROM, Volume 1 (Legendary Design Technologies, Inc.)(1994).iso
/
shareware
/
fractals
/
mandmountains
/
mandelmountains.doc
< prev
next >
Wrap
Text File
|
1994-11-17
|
17KB
|
362 lines
MandelMountains V2.1 by Mathias Ortmann
Discover the Mandelbrot and Julia Sets from a Completely New Point of View!
MandelMountains gives you the ability to render wonderful three-dimensional
images of blow-ups of the Mandelbrot and Julia sets.
The well-known color strips of the usual Mandelbrot images become at once
mountainsides that smoothly climb to high plateaus, leaving deep valleys
between them.
You may have already seen images of this type (e.g. on the covers of the
books "The Beauty of Fractals - Images of Complex Dynamical Systems" by
H.-O. Peitgen and P.H. Richter or "The Science of Fractal Images", edited
by H.-O. Peitgen and D. Saupe) - here and now you have the tool to create
them on your own! MandelMountains allows you to produce high-quality
non-interlaced or interlaced (and even overscan) images of arbitrary areas
of the Mandelbrot/Julia sets. You can easily define magnification windows
to zoom deeper and deeper into this fascinating world.
Since the development of this program took a lot of time and work, I release
it as shareware. This means that if you like and use this program, you
should become a registered MandelMountains user by sending me a little
contribution of about $10. This will make it possible to develop subsequent
versions of this program.
Suggestions, comments and bug reports are welcome, too.
These are my addresses:
(until 31-Jun-1991) (after 31-Jun-1991)
Mathias Ortmann Mathias Ortmann
Via Goito, 5 Strindbergstr. 5
I-20121 Milano D-8000 Munich 60
ITALY GERMANY
IMPORTANT! MandelMountains V2.1 requires the following libraries to be in
your libs:-Directory:
- mathtrans.library
- mathieeedoubbas.library
- mathieeedoubtrans.library
This documentation does NOT cover the theory of fractal geometry, complex
numbers and Mandelbrot/Julia sets. If you never heard anything about these
things, I recommend to read the books mentioned below.
1. The Rendering Method
The image is rendered from front to back. A virtual horizon line prevents
hidden areas from being displayed. The brightness of the surface is
determined by the angle the light falls on it. If the number of iterations
exceeds a certain (user-defineable) value, the pixel is set in color
instead of gray, thus remains of the usual color strips are visible on the
high plateaus, a fact which greatly increases the plasticity of the image.
The Mandelbrot/Julia set fixed point arithmetic iteration code is borrowed
from the commercial program MathVISION (by Doug Houck), published by Seven
Seas Software. MathVISION is a math visualization tool, which lets you
enter arbitrary functions, including the Mandelbrot set, and renders them
in various ways, including the shaded rendering which was borrowed from
MandelMountains.
2. The Display Format
You can choose between three image sizes: Small for quick test
calculations, Normal for the usual screen size (320x200/320x256) and Full
for overscan format (352x240/352x282), which I recommend as ideal size.
MandelMountains supports NTSC and PAL Amigas and recognizes by itself on
which type of machine it is running. All images are generated in 32 color
mode: 16 colors for the gray tones and 16 colors for the surface color range.
Optionally you can enable the interlace mode, which will double the number
of available colors: You now have 32 gray and 32 color tones, which will
result in much smoother color ranges. Computation time is not affected by
using interlace or non-interlace mode.
3. The File Format
MandelMountains writes standard IFF files with an additional "MMD1" chunk
containing all parameters of the image, so you can load previously
generated images and make further magnifications. You can load
MandelMountains files with all available graphics software, but note that
if the image is saved again, the MMD1 chunk will be destroyed, and you
cannot load it with MandelMountains any more.
MandelMountains V2.1 is fully backwards compatible with all previous versions.
4. The Parameters
An image is defined by several parameters. You can see and modify all of
them in the window MandelMountains opens on the Workbench screen.
The cx/cy values are used only when working in Julia set mode. They are the
real/imaginary part of the fixed parameter c in the term z = z²+c.
See below for a detailed description of how to generate images of Julia sets.
In the next two lines, there are the xmin/xmax/ymin/ymax values. They
determine the rectangular part of the Mandelbrot set that is to be shown in
the image (xmin/xmax represent the range of the real part, ymin/ymax of the
imaginary part of c [in Julia set mode: z] in the term z = z²+c).
The Depth value limits the number of iterations. If then the value of z
has not exceeded a certain maximum, the point will be drawn in black.
Increasing this value will result in a more detailed rendering of the
border between color and black, but it will also increase computation time
if there are larger areas of black. Normally, a Depth of 400 to 2000 is
sufficient.
Linear/Nonlinear/Super-Nonlinear Transformation: If your mountainsides
look extremely steep, you should switch to Nonlinear Transformation.
For extreme cases, there is the Super-Nonlinear transformation, which is
especially useful for magnifications of the western side of the Seahorse
Valley.
ColorMin: If you wish to have the surface of the plateaus colored (and
you surely will!), you set ColorMin to the number of iterations from which on
a pixel is to be drawn in color. Increasing this value will make the colored
areas smaller. The range of ColorMin is normally from 20 to 300 (set it to 0
if you wish no coloring).
ColorDiv: This value determines the "step rate" for the surface colors.
For example: You have a ColorMin of 100 and a ColorDiv of 50. The number
of iterations for a point is 300. The color of the point is now
(300-100)/50, i.e. 4. Usually ColorDiv is around 50 to 150. It is not
very critical, but if you choose it far too low, the colored areas on
your surface will look rather fragmented. If you choose it too high, they
will all have more or less the same color.
HZoom: This very important value is the decimal logarithm of the factor
all heights are multiplied with. If you choose this value too low, the
whole surface will be flat like a sheet of paper; if you choose it too
high, you will not see more than some vertical walls. This value is
probably the most critical and must be chosen carefully. It depends very
much on the magnification factor (increase it after each magnification) and
can range from 2 (initial picture) to 30 (blow-ups of details in the
Seahorse Valley, for example).
Remember that for nonlinear and super-nonlinear transformation, HZoom
must be considerably higher than for linear transformation.
HSmooth: Sometimes it may occur that the border of a plateau looks rather
fragmented. In this case, simply increase the HSmooth value. It can range
from 0 up to more than 200, depending on the HZoom value you are using, but
is not very critical. Set it to 50 for normal images.
It must be said that you will have to experiment a little to get perfect
results, but soon you'll get a feeling for these things (look at the sample
pictures and their parameters).
The 'Parameters' menu of MandelMountains contains the submenu 'Suggest'
which allows you to precalculate two of the above parameters. See below
for a further description of this feature.
5. The Menus
Project Menu:
Choosing the Load Image or Save Image option will bring up a file requester
(thanks Justin!) that allows you to choose a file name for the image to
load/save. Images are compressed before saving.
In MandelMountains V2.1, you can optionally save an image without the MMD1
chunk. This ensures full compatibility with all graphics software, but
images without MMD1 chunk can't be loaded into MandelMountains any more!
Start Rendering: This option clears the current screen, brings it to front
and starts the computation.
In contrary to MandelMountains